--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / meshchatx / src / frontend / components / messages / messageListVirtual.js
Displaying Raw • Download
meshchatx/src/frontend/components/messages/messageListVirtual.js 7eea421940d2baf28e6476c2736f889f5f3657a4 (7eea4219) Text, 1.63 KB
Tff7b72export Tff7b72const Te6edf3MIN_VIRTUAL_DISPLAY_GROUPS Tff7b72= T79c0ff48Tb4b4b4;
T8b949e/**
* Display groups from {@link selectedPeerChatDisplayGroups} are newest-first.
* Virtual + normal document flow use oldest at the top (index 0).
* @param {unknown[]} displayGroups
* @returns {unknown[]}
*/
Tff7b72export Tff7b72function Te6edf3displayGroupsOldestFirstTb4b4b4(Te6edf3displayGroupsTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3displayGroupsTff7b72?Tb4b4b4.Te6edf3lengthTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3displayGroupsTb4b4b4.Te6edf3sliceTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3reverseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
T8b949e/**
* Initial row height guess before measureElement runs (variable-height rows).
* @param {unknown} entry
* @returns {number}
*/
Tff7b72export Tff7b72function Te6edf3estimateGroupHeightTb4b4b4(Te6edf3entryTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3entry Tff7b72|| Tff7b72typeof Te6edf3entry Tff7b72!== Ta5d6ff"object"Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff96Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3entryTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"dateDivider"Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff44Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3entryTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"imageGroup"Tb4b4b4) Tb4b4b4{
Tff7b72return T79c0ff340Tb4b4b4;
Tb4b4b4}
Tff7b72return T79c0ff120Tb4b4b4;
Tb4b4b4}
T8b949e/**
* @param {unknown[]} groupsOldestFirst
* @param {string} hash
* @returns {number}
*/
Tff7b72export Tff7b72function Te6edf3findDisplayGroupIndexForMessageHashTb4b4b4(Te6edf3groupsOldestFirstTb4b4b4, Te6edf3hashTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3groupsOldestFirstTff7b72?Tb4b4b4.Te6edf3length Tff7b72|| Tff7b72!Te6edf3hashTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72-T79c0ff1Tb4b4b4;
Tb4b4b4}
Tff7b72for Tb4b4b4(Tff7b72let Te6edf3i Tff7b72= T79c0ff0Tb4b4b4; Te6edf3i Tff7b72< Te6edf3groupsOldestFirstTb4b4b4.Te6edf3lengthTb4b4b4; Te6edf3iTff7b72++Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3g Tff7b72= Te6edf3groupsOldestFirstTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3g Tff7b72|| Tff7b72typeof Te6edf3g Tff7b72!== Ta5d6ff"object"Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3gTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"dateDivider"Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3gTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"imageGroup" Tff7b72&& Tffa657ArrayTb4b4b4.Te6edf3isArrayTb4b4b4(Te6edf3gTb4b4b4.Te6edf3itemsTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3gTb4b4b4.Te6edf3itemsTb4b4b4.Te6edf3someTb4b4b4(Tb4b4b4(Te6edf3itTb4b4b4) Tb4b4b4=> Te6edf3itTff7b72?Tb4b4b4.Te6edf3lxmf_messageTff7b72?Tb4b4b4.Te6edf3hash Tff7b72=== Te6edf3hashTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3iTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3gTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"single" Tff7b72&& Te6edf3gTb4b4b4.Te6edf3chatItemTff7b72?Tb4b4b4.Te6edf3lxmf_messageTff7b72?Tb4b4b4.Te6edf3hash Tff7b72=== Te6edf3hashTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3iTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72return Tff7b72-T79c0ff1Tb4b4b4;
Tb4b4b4}
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────